home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet internetowy / Anonimowosc i bezpieczenstwo / TOR 0.1.1.24 / vidalia-bundle-0.1.1.24-0.0.7.exe / Tor / Documents / socks-extensions.txt < prev    next >
Text File  |  2006-09-24  |  2KB  |  62 lines

  1. $Id: socks-extensions.txt 8479 2006-09-24 17:20:41Z nickm $
  2. Tor's extensions to the SOCKS protocol
  3.  
  4. 1. Overview
  5.  
  6.   The SOCKS protocol provides a generic interface for TCP proxies.  Client
  7.   software connects to a SOCKS server via TCP, and requests a TCP connection
  8.   to another address and port.  The SOCKS server establishes the connection,
  9.   and reports success or failure to the client.  After the connection has
  10.   been established, the client application uses the TCP stream as usual.
  11.  
  12.   Tor supports SOCKS4 as defined in [1], SOCKS4A as defined in [2], and
  13.   SOCKS5 as defined in [3].
  14.  
  15.   The stickiest issue for Tor in supporting clients, in practice, is forcing
  16.   DNS lookups to occur at the OR side: if clients do their own DNS lookup,
  17.   the DNS server can learn which addresses the client wants to reach.
  18.   SOCKS4 supports addressing by IPv4 address; SOCKS4A is a kludge on top of
  19.   SOCKS4 to allow addressing by hostname; SOCKS5 supports IPv4, IPv6, and
  20.   hostnames.
  21.  
  22. 1.1. Extent of support
  23.  
  24.   Tor supports the SOCKS4, SOCKS4A, and SOCKS5 standards, except as follows:
  25.  
  26.   BOTH:
  27.   - The BIND command is not supported.
  28.  
  29.   SOCKS4,4A:
  30.   - SOCKS4 usernames are ignored.
  31.  
  32.   SOCKS5:
  33.   - The (SOCKS5) "UDP ASSOCIATE" command is not supported.
  34.   - IPv6 is not supported in CONNECT commands.
  35.   - Only the "NO AUTHENTICATION" (SOCKS5) authentication method [00] is
  36.     supported.
  37.  
  38. 2. Name lookup
  39.  
  40.   As an extension to SOCKS4A and SOCKS5, Tor implements a new command value,
  41.   "RESOLVE" [F0].  When Tor receives a "RESOLVE" SOCKS command, it initiates
  42.   a remote lookup of the hostname provided as the target address in the SOCKS
  43.   request.  The reply is either an error (if the address couldn't be
  44.   resolved) or a success response.  In the case of success, the address is
  45.   stored in the portion of the SOCKS response reserved for remote IP address.
  46.  
  47.   (We support RESOLVE in SOCKS4 too, even though it is unnecessary.)
  48.  
  49. 3. HTTP-resistance
  50.  
  51.   Tor checks the first byte of each SOCKS request to see whether it looks
  52.   more like an HTTP request (that is, it starts with a "G", "H", or "P").  If
  53.   so, Tor returns a small webpage, telling the user that his/her browser is
  54.   misconfigured.  This is helpful for the many users who mistakenly try to
  55.   use Tor as an HTTP proxy instead of a SOCKS proxy.
  56.  
  57. References:
  58.  [1] http://archive.socks.permeo.com/protocol/socks4.protocol
  59.  [2] http://archive.socks.permeo.com/protocol/socks4a.protocol
  60.  [3] SOCKS5: RFC1928
  61.  
  62.